package com.accloud.service;

import com.accloud.cloudservice.BaseCallback;
import com.accloud.cloudservice.PayloadCallback;
import com.accloud.cloudservice.VoidCallback;
import java.util.List;

public interface ACAccountMgr {
    void bindWithAccount(String str, String str2, String str3, String str4, String str5, VoidCallback voidCallback);

    void bindWithOpenId(ACThirdPlatform aCThirdPlatform, String str, String str2, VoidCallback voidCallback);

    void changeEmail(String str, String str2, String str3, VoidCallback voidCallback);

    void changeNickName(String str, VoidCallback voidCallback);

    void changePassword(String str, String str2, VoidCallback voidCallback);

    void changePhone(String str, String str2, String str3, VoidCallback voidCallback);

    void checkExist(String str, PayloadCallback<Boolean> payloadCallback);

    void checkVerifyCode(String str, String str2, PayloadCallback<Boolean> payloadCallback);

    void forceUpdateRefreshToken(PayloadCallback<ACUserInfo> payloadCallback);

    void getPublicProfiles(List<Long> list, PayloadCallback<List<ACObject>> payloadCallback);

    long getUserId();

    void getUserProfile(PayloadCallback<ACObject> payloadCallback);

    boolean isLogin();

    void listAllOpenIds(PayloadCallback<List<ACOpenIdInfo>> payloadCallback);

    void login(String str, String str2, PayloadCallback<ACUserInfo> payloadCallback);

    void loginWithOpenId(ACThirdPlatform aCThirdPlatform, String str, String str2, PayloadCallback<ACUserInfo> payloadCallback);

    void loginWithVerifyCode(String str, String str2, PayloadCallback<ACUserInfo> payloadCallback);

    void logout();

    void register(String str, String str2, String str3, String str4, String str5, PayloadCallback<ACUserInfo> payloadCallback);

    void resetPassword(String str, String str2, String str3, PayloadCallback<ACUserInfo> payloadCallback);

    void sendVerifyCode(String str, int i, VoidCallback voidCallback);

    void setAvatar(byte[] bArr, PayloadCallback<String> payloadCallback);

    void setAvatar(byte[] bArr, VoidCallback voidCallback);

    void setRefreshTokenInvalidCallback(BaseCallback baseCallback);

    void setUserProfile(ACObject aCObject, VoidCallback voidCallback);

    void updateAccessToken() throws ACException;
}
